The objective of this assignment is to develop a quality control visual inspection system that can automatically determine if a box of push pins is acceptable or should be rejected. The system will use object detection to identify good and bad pins and classify them into different categories. The goal is to train a model to inspect boxes and make decisions based on visual data.
You are tasked with building an AI-based quality control system for a company that manufactures push pins. Each box is divided into 15 bins, with exactly one good pin per bin. You need to build a visual inspection system that detects and classifies pins into different categories that are listed in Classes section. Based on the classification, the box will either be accepted or rejected.
The dataset contains a total of 310 images, split into:
Each image is prefixed with either 'good' or 'bad' for easy differentiation.
# GPU Check
!nvidia-smi
Sat Oct 12 06:14:06 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.90.07 Driver Version: 550.90.07 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla P100-PCIE-16GB Off | 00000000:00:04.0 Off | 0 |
| N/A 35C P0 27W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
!pip install ultralytics==8.3.5
!pip install roboflow
from IPython import display
display.clear_output()
import ultralytics
ultralytics.checks()
Ultralytics 8.3.5 🚀 Python-3.10.14 torch-2.4.0 CUDA:0 (Tesla P100-PCIE-16GB, 16269MiB) Setup complete ✅ (4 CPUs, 31.4 GB RAM, 5933.9/8062.4 GB disk)
from ultralytics import YOLO
from IPython.display import display, Image
# Get API Key of ROBOFLOW to download the dataset.
# from google.colab import userdata
# api_key = userdata.get('api_key')
# Download Dataset
from roboflow import Roboflow
rf = Roboflow(api_key='')
project = rf.workspace("pushpins").project("pushpins-kkkcx")
version = project.version(9)
dataset = version.download("yolov8")
loading Roboflow workspace... loading Roboflow project... Dependency ultralytics==8.0.196 is required but found version=8.3.5, to fix: `pip install ultralytics==8.0.196`
Downloading Dataset Version Zip in Pushpins-9 to yolov8:: 100%|██████████| 41580/41580 [00:01<00:00, 25176.54it/s]
Extracting Dataset Version Zip to Pushpins-9 in yolov8:: 100%|██████████| 2119/2119 [00:00<00:00, 7675.44it/s]
# Benchmark
models = 'yolov8s.pt'
# Path to your custom dataset
data_path = '/kaggle/input/data-yaml/data.yaml'
# Benchmark each model
print(f"Benchmarking {model_name}...")
model = YOLO(model_name)
results = benchmark(model=model, data=data_path, imgsz=640, half=False, device=0)
print(results)
Setup complete ✅ (4 CPUs, 31.4 GB RAM, 5940.2/8062.4 GB disk)
Benchmarks complete for yolo11s.pt on /kaggle/input/data-yaml/data.yaml at imgsz=640 (190.32s)
Format Status❔ Size (MB) metrics/mAP50-95(B) Inference time (ms/im) FPS
0 PyTorch ✅ 18.4 0.0291 14.22 70.30
1 TorchScript ✅ 36.6 0.0057 9.12 109.67
2 ONNX ✅ 36.3 0.0057 17.92 55.80
3 OpenVINO ❌ 0.0 NaN NaN NaN
4 TensorRT ❌ 0.0 NaN NaN NaN
5 CoreML ❌ 0.0 NaN NaN NaN
6 TensorFlow SavedModel ✅ 91.1 0.0057 54.97 18.19
7 TensorFlow GraphDef ✅ 36.4 0.0057 81.53 12.27
8 TensorFlow Lite ❌ 0.0 NaN NaN NaN
9 TensorFlow Edge TPU ❌ 0.0 NaN NaN NaN
10 TensorFlow.js ❌ 0.0 NaN NaN NaN
11 PaddlePaddle ✅ 72.5 0.0057 535.01 1.87
12 NCNN ✅ 36.2 0.0057 171.04 5.85
Format Status❔ Size (MB) metrics/mAP50-95(B) Inference time (ms/im) FPS
0 PyTorch ✅ 18.4 0.0291 14.22 70.30
1 TorchScript ✅ 36.6 0.0057 9.12 109.67
2 ONNX ✅ 36.3 0.0057 17.92 55.80
3 OpenVINO ❌ 0.0 NaN NaN NaN
4 TensorRT ❌ 0.0 NaN NaN NaN
5 CoreML ❌ 0.0 NaN NaN NaN
6 TensorFlow SavedModel ✅ 91.1 0.0057 54.97 18.19
7 TensorFlow GraphDef ✅ 36.4 0.0057 81.53 12.27
8 TensorFlow Lite ❌ 0.0 NaN NaN NaN
9 TensorFlow Edge TPU ❌ 0.0 NaN NaN NaN
10 TensorFlow.js ❌ 0.0 NaN NaN NaN
11 PaddlePaddle ✅ 72.5 0.0057 535.01 1.87
12 NCNN ✅ 36.2 0.0057 171.04 5.85
# Benchmark
models = 'yolo11s.pt'
# Path to your custom dataset
data_path = '/kaggle/input/data-yaml/data.yaml'
# Benchmark each model
print(f"Benchmarking {model_name}...")
model = YOLO(model_name)
results = benchmark(model=model, data=data_path, imgsz=640, half=False, device=0)
print(results)
Setup complete ✅ (4 CPUs, 31.4 GB RAM, 5940.2/8062.4 GB disk)
Benchmarks complete for yolo11s.pt on /kaggle/input/data-yaml/data.yaml at imgsz=640 (11.21s)
Format Status❔ Size (MB) metrics/mAP50-95(B) Inference time (ms/im) FPS
0 PyTorch ✅ 18.4 0.0291 14.57 68.61
1 TorchScript ✅ 36.6 0.0057 8.56 116.77
2 ONNX ❎ 36.3 NaN NaN NaN
3 OpenVINO ❌ 0.0 NaN NaN NaN
4 TensorRT ❌ 0.0 NaN NaN NaN
5 CoreML ❌ 0.0 NaN NaN NaN
6 TensorFlow SavedModel ❌ 0.0 NaN NaN NaN
7 TensorFlow GraphDef ❌ 0.0 NaN NaN NaN
8 TensorFlow Lite ❌ 0.0 NaN NaN NaN
9 TensorFlow Edge TPU ❌ 0.0 NaN NaN NaN
10 TensorFlow.js ❌ 0.0 NaN NaN NaN
11 PaddlePaddle ❌ 0.0 NaN NaN NaN
12 NCNN ❌ 0.0 NaN NaN NaN
Format Status❔ Size (MB) metrics/mAP50-95(B) Inference time (ms/im) FPS
0 PyTorch ✅ 18.4 0.0291 14.57 68.61
1 TorchScript ✅ 36.6 0.0057 8.56 116.77
2 ONNX ❎ 36.3 NaN NaN NaN
3 OpenVINO ❌ 0.0 NaN NaN NaN
4 TensorRT ❌ 0.0 NaN NaN NaN
5 CoreML ❌ 0.0 NaN NaN NaN
6 TensorFlow SavedModel ❌ 0.0 NaN NaN NaN
7 TensorFlow GraphDef ❌ 0.0 NaN NaN NaN
8 TensorFlow Lite ❌ 0.0 NaN NaN NaN
9 TensorFlow Edge TPU ❌ 0.0 NaN NaN NaN
10 TensorFlow.js ❌ 0.0 NaN NaN NaN
11 PaddlePaddle ❌ 0.0 NaN NaN NaN
12 NCNN ❌ 0.0 NaN NaN NaN
# load a pretrained model (recommended for training)
model = YOLO("yolov8s.pt")
#Start from pre-train pushpin model
# model = YOLO("/content/drive/MyDrive/Pushpin/pushpin_yolov8/weights/best.pt")
Downloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolov8s.pt to 'yolov8s.pt'...
100%|██████████| 21.5M/21.5M [00:00<00:00, 234MB/s]
# Display model information (optional)
model.info()
YOLOv8s summary: 225 layers, 11,166,560 parameters, 0 gradients, 28.8 GFLOPs
(225, 11166560, 0, 28.816844800000002)
# Train the model on the Pushpin example dataset for 300 epochs
# Default early stopping with patience=100
results = model.train(
data="/kaggle/input/data-yaml/data.yaml",
epochs=300,
imgsz=640,
save=True,
device=0,
plots=True,
batch=-1,
project='/kaggle/working/PushPin_yolov8',
name='pushpin_yolov8_300'
)
New https://pypi.org/project/ultralytics/8.3.10 available 😃 Update with 'pip install -U ultralytics'
Ultralytics 8.3.5 🚀 Python-3.10.14 torch-2.4.0 CUDA:0 (Tesla P100-PCIE-16GB, 16269MiB)
engine/trainer: task=detect, mode=train, model=yolov8s.pt, data=/kaggle/input/data-yaml/data.yaml, epochs=300, time=None, patience=100, batch=-1, imgsz=640, save=True, save_period=-1, cache=False, device=0, workers=8, project=/kaggle/working/PushPin_yolov8, name=pushpin_yolov8_3003, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=True, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, bgr=0.0, mosaic=1.0, mixup=0.0, copy_paste=0.0, copy_paste_mode=flip, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=/kaggle/working/PushPin_yolov8/pushpin_yolov8_3003
Downloading https://ultralytics.com/assets/Arial.ttf to '/root/.config/Ultralytics/Arial.ttf'...
100%|██████████| 755k/755k [00:00<00:00, 17.2MB/s] 2024-10-12 06:28:46,644 INFO util.py:124 -- Outdated packages: ipywidgets==7.7.1 found, needs ipywidgets>=8 Run `pip install -U ipywidgets`, then restart the notebook server for rich notebook output. 2024-10-12 06:28:47,649 INFO util.py:124 -- Outdated packages: ipywidgets==7.7.1 found, needs ipywidgets>=8 Run `pip install -U ipywidgets`, then restart the notebook server for rich notebook output.
Overriding model.yaml nc=80 with nc=9
from n params module arguments
0 -1 1 928 ultralytics.nn.modules.conv.Conv [3, 32, 3, 2]
1 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]
2 -1 1 29056 ultralytics.nn.modules.block.C2f [64, 64, 1, True]
3 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]
4 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True]
5 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]
6 -1 2 788480 ultralytics.nn.modules.block.C2f [256, 256, 2, True]
7 -1 1 1180672 ultralytics.nn.modules.conv.Conv [256, 512, 3, 2]
8 -1 1 1838080 ultralytics.nn.modules.block.C2f [512, 512, 1, True]
9 -1 1 656896 ultralytics.nn.modules.block.SPPF [512, 512, 5]
10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]
12 -1 1 591360 ultralytics.nn.modules.block.C2f [768, 256, 1]
13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]
15 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1]
16 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]
17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1]
18 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1]
19 -1 1 590336 ultralytics.nn.modules.conv.Conv [256, 256, 3, 2]
20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1]
21 -1 1 1969152 ultralytics.nn.modules.block.C2f [768, 512, 1]
22 [15, 18, 21] 1 822891 ultralytics.nn.modules.head.Detect [9, [128, 256, 512]]
Model summary: 249 layers, 9,842,443 parameters, 9,842,427 gradients, 23.6 GFLOPs
Transferred 313/391 items from pretrained weights
TensorBoard: Start with 'tensorboard --logdir /kaggle/working/PushPin_yolov8/pushpin_yolov8_3003', view at http://localhost:6006/
Freezing layer 'model.22.dfl.conv.weight'
AMP: running Automatic Mixed Precision (AMP) checks with YOLO11n...
Downloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt to 'yolo11n.pt'...
100%|██████████| 5.35M/5.35M [00:00<00:00, 109MB/s]
AMP: checks passed ✅ AutoBatch: Computing optimal batch size for imgsz=640 at 60.0% CUDA memory utilization. AutoBatch: CUDA:0 (Tesla P100-PCIE-16GB) 15.89G total, 0.14G reserved, 0.12G allocated, 15.63G free Params GFLOPs GPU_mem (GB) forward (ms) backward (ms) input output 9842443 23.59 0.365 27.41 57.81 (1, 3, 640, 640) list 9842443 47.18 0.596 20.36 38.34 (2, 3, 640, 640) list 9842443 94.37 1.221 24.08 64.09 (4, 3, 640, 640) list 9842443 188.7 2.101 42.39 65.82 (8, 3, 640, 640) list 9842443 377.5 3.926 76.1 108.8 (16, 3, 640, 640) list AutoBatch: Using batch-size 38 for CUDA:0 9.42G/15.89G (59%) ✅
train: Scanning /kaggle/working/Pushpins-9/train/labels... 994 images, 0 backgrounds, 0 corrupt: 100%|██████████| 994/994 [00:00<00:00, 1110.55it/s]
train: New cache created: /kaggle/working/Pushpins-9/train/labels.cache albumentations: Blur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, num_output_channels=3, method='weighted_average'), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))
A new version of Albumentations is available: 1.4.18 (you have 1.4.17). Upgrade using: pip install -U albumentations. To disable automatic update checks, set the environment variable NO_ALBUMENTATIONS_UPDATE to 1.
os.fork() was called. os.fork() is incompatible with multithreaded code, and JAX is multithreaded, so this will likely lead to a deadlock.
val: Scanning /kaggle/working/Pushpins-9/valid/labels... 30 images, 0 backgrounds, 0 corrupt: 100%|██████████| 30/30 [00:00<00:00, 2004.32it/s]
val: New cache created: /kaggle/working/Pushpins-9/valid/labels.cache
Plotting labels to /kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/labels.jpg... optimizer: 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically... optimizer: AdamW(lr=0.000769, momentum=0.9) with parameter groups 63 weight(decay=0.0), 70 weight(decay=0.00059375), 69 bias(decay=0.0) TensorBoard: model graph visualization added ✅ Image sizes 640 train, 640 val Using 4 dataloader workers Logging results to /kaggle/working/PushPin_yolov8/pushpin_yolov8_3003 Starting training for 300 epochs... Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1/300 10.8G 1.374 4.419 1.34 14 640: 100%|██████████| 27/27 [00:18<00:00, 1.48it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:01<00:00, 1.46s/it]
all 30 147 0.0391 0.612 0.15 0.0557
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
2/300 10.8G 0.9128 2.702 1.033 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.54it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 2.33it/s]
all 30 147 0.0391 0.612 0.15 0.0557
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
3/300 10.6G 0.8584 2.179 1.008 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.56it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 2.31it/s]
all 30 147 0.00112 0.0068 0.000565 0.000396
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
4/300 10.7G 0.7756 1.996 0.9881 6 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 2.53it/s]
all 30 147 0.0674 0.707 0.173 0.0552
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
5/300 10.5G 0.7839 1.839 0.9862 8 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.038 0.408 0.0661 0.0169
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
6/300 10.9G 0.7514 1.621 0.9742 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.15it/s]
all 30 147 0.158 0.986 0.486 0.274
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
7/300 10.5G 0.7569 1.477 0.9786 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.64it/s]
all 30 147 0.382 0.871 0.477 0.254
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
8/300 10.7G 0.729 1.369 0.9723 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.13it/s]
all 30 147 0.172 1 0.46 0.251
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
9/300 10.9G 0.6855 1.268 0.9657 32 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.61it/s]
all 30 147 0.407 0.565 0.483 0.297
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
10/300 10.9G 0.6735 1.168 0.9544 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.20it/s]
all 30 147 0.296 0.217 0.209 0.0876
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
11/300 9.96G 0.6432 1.116 0.9511 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.75it/s]
all 30 147 0.241 0.993 0.417 0.223
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
12/300 10.1G 0.6712 1.094 0.9553 30 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.235 0.932 0.46 0.249
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
13/300 10.5G 0.643 1.016 0.9455 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.48it/s]
all 30 147 0.286 0.986 0.495 0.291
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
14/300 10.9G 0.6339 1.032 0.9451 7 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.39it/s]
all 30 147 0.296 0.85 0.412 0.191
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
15/300 10.5G 0.6424 1.008 0.9419 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.81it/s]
all 30 147 0.278 0.959 0.447 0.235
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
16/300 10.1G 0.597 0.9603 0.9334 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.60it/s]
all 30 147 0.262 0.993 0.469 0.279
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
17/300 10.4G 0.6065 0.9618 0.9354 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.45it/s]
all 30 147 0.397 0.884 0.549 0.327
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
18/300 10.8G 0.6 0.8774 0.9271 25 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.41it/s]
all 30 147 0.336 0.871 0.478 0.282
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
19/300 10.8G 0.6237 0.9045 0.9404 7 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.98it/s]
all 30 147 0.324 0.966 0.523 0.314
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
20/300 10G 0.5654 0.8407 0.9223 32 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.69it/s]
all 30 147 0.288 0.884 0.413 0.233
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
21/300 10.5G 0.5967 0.8759 0.9309 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.36it/s]
all 30 147 0.336 0.993 0.456 0.276
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
22/300 10.1G 0.6414 0.8789 0.9463 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.16it/s]
all 30 147 0.321 0.966 0.563 0.325
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
23/300 10.8G 0.5694 0.8308 0.9292 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.48it/s]
all 30 147 0.302 0.925 0.502 0.279
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
24/300 10G 0.5691 0.8173 0.9241 19 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.57it/s]
all 30 147 0.345 0.905 0.535 0.32
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
25/300 10.8G 0.5398 0.7695 0.9113 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.70it/s]
all 30 147 0.37 0.925 0.528 0.317
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
26/300 10G 0.5571 0.7709 0.9131 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.43it/s]
all 30 147 0.325 0.871 0.516 0.3
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
27/300 10.5G 0.5556 0.7558 0.9197 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.39it/s]
all 30 147 0.617 0.549 0.585 0.367
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
28/300 10.7G 0.5509 0.7725 0.924 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.20it/s]
all 30 147 0.568 0.707 0.624 0.369
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
29/300 10.4G 0.5654 0.771 0.9261 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.17it/s]
all 30 147 0.359 0.973 0.498 0.295
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
30/300 10.1G 0.567 0.7695 0.9211 16 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.50it/s]
all 30 147 0.591 0.512 0.574 0.319
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
31/300 10.4G 0.5613 0.7497 0.9286 18 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.18it/s]
all 30 147 0.477 0.66 0.555 0.327
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
32/300 10G 0.5283 0.7229 0.9129 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.52it/s]
all 30 147 0.327 0.973 0.546 0.313
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
33/300 10.4G 0.5356 0.7562 0.9045 18 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.53it/s]
all 30 147 0.342 0.993 0.464 0.277
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
34/300 10.7G 0.5261 0.7101 0.9027 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.52it/s]
all 30 147 0.39 0.769 0.516 0.313
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
35/300 10.5G 0.5281 0.6873 0.9032 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.73it/s]
all 30 147 0.38 0.898 0.54 0.311
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
36/300 10.1G 0.5073 0.6848 0.8958 28 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.589 0.701 0.619 0.355
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
37/300 10.8G 0.5181 0.6819 0.9066 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.52it/s]
all 30 147 0.558 0.609 0.571 0.34
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
38/300 10G 0.4964 0.6706 0.9002 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.36it/s]
all 30 147 0.335 0.932 0.538 0.308
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
39/300 10.5G 0.5021 0.651 0.8992 6 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.73it/s]
all 30 147 0.372 0.925 0.591 0.34
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
40/300 10.9G 0.4971 0.6541 0.8967 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.78it/s]
all 30 147 0.487 0.803 0.554 0.315
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
41/300 10.9G 0.4898 0.6332 0.8908 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.87it/s]
all 30 147 0.423 0.395 0.383 0.246
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
42/300 10.8G 0.4978 0.6438 0.8933 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.47it/s]
all 30 147 0.549 0.604 0.579 0.356
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
43/300 10.5G 0.4816 0.6402 0.8928 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.64it/s]
all 30 147 0.443 0.802 0.624 0.381
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
44/300 10.5G 0.4973 0.6457 0.8968 24 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.66it/s]
all 30 147 0.378 0.952 0.634 0.379
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
45/300 10.9G 0.4706 0.6145 0.8829 7 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.378 0.864 0.505 0.284
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
46/300 10.1G 0.4903 0.6535 0.8822 30 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.85it/s]
all 30 147 0.389 0.905 0.549 0.325
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
47/300 10.6G 0.4711 0.636 0.8915 21 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.70it/s]
all 30 147 0.483 0.834 0.609 0.366
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
48/300 10.9G 0.4782 0.5988 0.8906 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.24it/s]
all 30 147 0.393 0.687 0.435 0.246
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
49/300 10.5G 0.477 0.6005 0.8901 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.77it/s]
all 30 147 0.542 0.571 0.545 0.329
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
50/300 9.96G 0.4903 0.5961 0.8921 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.22it/s]
all 30 147 0.376 0.871 0.509 0.312
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
51/300 10.8G 0.4814 0.582 0.8872 34 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.21it/s]
all 30 147 0.398 0.884 0.544 0.315
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
52/300 10.8G 0.4713 0.5951 0.8887 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.75it/s]
all 30 147 0.379 0.816 0.541 0.309
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
53/300 10.8G 0.4566 0.5807 0.878 16 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.37it/s]
all 30 147 0.545 0.514 0.506 0.295
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
54/300 9.93G 0.488 0.5828 0.8903 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.49it/s]
all 30 147 0.375 0.925 0.542 0.33
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
55/300 10.8G 0.4661 0.5774 0.8829 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.86it/s]
all 30 147 0.378 0.823 0.451 0.27
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
56/300 10.7G 0.4595 0.5664 0.8841 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.77it/s]
all 30 147 0.395 0.626 0.406 0.231
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
57/300 10.6G 0.4531 0.5439 0.8743 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.55it/s]
all 30 147 0.478 0.517 0.451 0.269
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
58/300 10.3G 0.4569 0.5626 0.8859 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.79it/s]
all 30 147 0.383 0.878 0.483 0.297
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
59/300 10.8G 0.4731 0.5518 0.8834 33 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.91it/s]
all 30 147 0.452 0.776 0.55 0.338
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
60/300 10.1G 0.4601 0.5565 0.8847 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.41it/s]
all 30 147 0.405 0.68 0.467 0.292
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
61/300 10.6G 0.4536 0.5452 0.8825 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.37it/s]
all 30 147 0.405 0.694 0.447 0.272
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
62/300 10.6G 0.457 0.5602 0.8747 7 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.43 0.728 0.452 0.258
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
63/300 10.8G 0.4235 0.5465 0.8727 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.52it/s]
all 30 147 0.375 0.932 0.512 0.303
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
64/300 10.7G 0.4432 0.5179 0.8735 22 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.54it/s]
all 30 147 0.387 0.816 0.494 0.299
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
65/300 10.5G 0.4407 0.5396 0.8707 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.22it/s]
all 30 147 0.366 0.694 0.448 0.258
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
66/300 10.1G 0.4176 0.4996 0.8643 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.70it/s]
all 30 147 0.37 0.748 0.428 0.244
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
67/300 10.5G 0.4504 0.5305 0.8765 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.69it/s]
all 30 147 0.37 0.85 0.483 0.279
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
68/300 10.6G 0.4302 0.5069 0.863 21 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.12it/s]
all 30 147 0.445 0.694 0.483 0.291
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
69/300 10.6G 0.4327 0.5255 0.8625 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.75it/s]
all 30 147 0.395 0.837 0.482 0.284
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
70/300 10.6G 0.434 0.5209 0.8739 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.23it/s]
all 30 147 0.408 0.646 0.446 0.266
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
71/300 10.6G 0.4165 0.5087 0.8645 23 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.67it/s]
all 30 147 0.41 0.789 0.488 0.29
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
72/300 10.5G 0.4203 0.5111 0.8699 8 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.47it/s]
all 30 147 0.403 0.605 0.432 0.256
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
73/300 10.8G 0.4425 0.5208 0.8723 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.29it/s]
all 30 147 0.399 0.748 0.444 0.255
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
74/300 10G 0.4289 0.4938 0.8747 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.49it/s]
all 30 147 0.426 0.565 0.434 0.261
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
75/300 10.6G 0.4311 0.4928 0.8728 28 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.82it/s]
all 30 147 0.517 0.531 0.515 0.316
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
76/300 10.1G 0.416 0.4798 0.8651 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.416 0.762 0.49 0.296
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
77/300 10.8G 0.4133 0.4759 0.8644 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.41it/s]
all 30 147 0.467 0.476 0.381 0.236
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
78/300 10.6G 0.3922 0.4683 0.8569 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.81it/s]
all 30 147 0.413 0.81 0.527 0.317
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
79/300 10.8G 0.4036 0.4692 0.8639 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.30it/s]
all 30 147 0.532 0.395 0.427 0.262
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
80/300 10.5G 0.422 0.461 0.8706 16 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.53it/s]
all 30 147 0.45 0.639 0.481 0.286
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
81/300 10.4G 0.4293 0.4807 0.8684 24 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.24it/s]
all 30 147 0.405 0.565 0.417 0.249
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
82/300 9.93G 0.3889 0.4539 0.8563 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.59it/s]
all 30 147 0.424 0.592 0.441 0.269
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
83/300 10.5G 0.4185 0.4886 0.8635 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.81it/s]
all 30 147 0.412 0.619 0.44 0.255
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
84/300 10.8G 0.4139 0.4797 0.8716 27 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.48it/s]
all 30 147 0.376 0.503 0.371 0.209
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
85/300 10.8G 0.4005 0.4571 0.866 7 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.66it/s]
all 30 147 0.473 0.544 0.407 0.232
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
86/300 10.1G 0.3951 0.446 0.8549 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.64it/s]
all 30 147 0.397 0.789 0.491 0.293
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
87/300 10.5G 0.3996 0.4535 0.8593 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.86it/s]
all 30 147 0.59 0.333 0.439 0.278
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
88/300 10G 0.4143 0.4658 0.8671 18 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.32it/s]
all 30 147 0.443 0.605 0.439 0.256
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
89/300 10.5G 0.3823 0.4578 0.8504 23 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.76it/s]
all 30 147 0.418 0.558 0.39 0.236
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
90/300 10.7G 0.3887 0.4693 0.8565 16 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.56it/s]
all 30 147 0.452 0.707 0.49 0.291
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
91/300 10.4G 0.4005 0.4641 0.8564 18 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.509 0.381 0.401 0.235
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
92/300 10.7G 0.397 0.4461 0.8631 24 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.73it/s]
all 30 147 0.488 0.544 0.437 0.257
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
93/300 10.8G 0.3821 0.4325 0.8533 20 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.70it/s]
all 30 147 0.413 0.531 0.415 0.243
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
94/300 9.96G 0.3756 0.4279 0.8445 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.67it/s]
all 30 147 0.485 0.544 0.438 0.267
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
95/300 10.4G 0.3892 0.4402 0.8478 38 640: 100%|██████████| 27/27 [00:17<00:00, 1.59it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.88it/s]
all 30 147 0.425 0.599 0.414 0.249
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
96/300 10.1G 0.4078 0.4526 0.8613 22 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.73it/s]
all 30 147 0.429 0.469 0.361 0.206
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
97/300 10.8G 0.3767 0.4412 0.8501 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.59it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.27it/s]
all 30 147 0.44 0.646 0.475 0.289
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
98/300 9.96G 0.3796 0.4391 0.8555 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.81it/s]
all 30 147 0.466 0.558 0.447 0.283
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
99/300 10.8G 0.381 0.4356 0.8513 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.5 0.408 0.392 0.235
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
100/300 10.6G 0.3834 0.4191 0.8538 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.61it/s]
all 30 147 0.425 0.728 0.463 0.282
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
101/300 10.9G 0.3486 0.3874 0.8442 18 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.19it/s]
all 30 147 0.455 0.476 0.399 0.243
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
102/300 10G 0.3742 0.4173 0.8539 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.59it/s]
all 30 147 0.465 0.49 0.427 0.261
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
103/300 10.5G 0.3689 0.3934 0.8538 17 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.15it/s]
all 30 147 0.432 0.646 0.418 0.251
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
104/300 10.1G 0.3625 0.4081 0.8505 21 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.84it/s]
all 30 147 0.508 0.415 0.407 0.252
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
105/300 10.8G 0.3589 0.3985 0.8445 8 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.86it/s]
all 30 147 0.407 0.537 0.396 0.231
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
106/300 10.6G 0.3744 0.4195 0.8465 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.88it/s]
all 30 147 0.475 0.571 0.408 0.238
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
107/300 10.8G 0.3591 0.4 0.8484 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.59it/s]
all 30 147 0.552 0.435 0.429 0.265
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
108/300 9.96G 0.3573 0.4116 0.8463 5 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.53it/s]
all 30 147 0.444 0.673 0.486 0.284
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
109/300 10.5G 0.35 0.4087 0.8472 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.59it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.90it/s]
all 30 147 0.425 0.653 0.454 0.253
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
110/300 10.8G 0.3396 0.3821 0.841 25 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.81it/s]
all 30 147 0.472 0.231 0.303 0.181
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
111/300 10.5G 0.3502 0.3936 0.8441 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.50it/s]
all 30 147 0.514 0.259 0.356 0.227
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
112/300 10.5G 0.3612 0.4013 0.8485 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.90it/s]
all 30 147 0.468 0.354 0.359 0.214
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
113/300 10.5G 0.3551 0.3938 0.8437 21 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.60it/s]
all 30 147 0.452 0.354 0.347 0.204
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
114/300 10.9G 0.3487 0.3771 0.8418 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.72it/s]
all 30 147 0.445 0.361 0.352 0.201
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
115/300 10.8G 0.3504 0.3986 0.8395 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.57it/s]
all 30 147 0.462 0.497 0.4 0.256
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
116/300 9.96G 0.3344 0.3641 0.8377 36 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.86it/s]
all 30 147 0.47 0.524 0.421 0.262
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
117/300 10.8G 0.3347 0.363 0.8371 21 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.91it/s]
all 30 147 0.472 0.347 0.349 0.211
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
118/300 10.9G 0.3545 0.3782 0.8557 32 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.59it/s]
all 30 147 0.471 0.218 0.317 0.194
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
119/300 10.4G 0.3489 0.3883 0.8468 7 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.23it/s]
all 30 147 0.381 0.667 0.425 0.242
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
120/300 9.95G 0.3371 0.3641 0.8348 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.79it/s]
all 30 147 0.566 0.32 0.409 0.243
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
121/300 10.8G 0.3603 0.3847 0.8496 19 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.86it/s]
all 30 147 0.527 0.327 0.393 0.232
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
122/300 9.97G 0.3467 0.3843 0.8435 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.90it/s]
all 30 147 0.487 0.388 0.386 0.235
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
123/300 10.4G 0.3293 0.3769 0.8403 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.84it/s]
all 30 147 0.473 0.476 0.407 0.226
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
124/300 9.99G 0.3335 0.3782 0.8415 13 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.32it/s]
all 30 147 0.482 0.449 0.401 0.241
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
125/300 10.5G 0.3467 0.3812 0.8403 18 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.43it/s]
all 30 147 0.44 0.497 0.398 0.237
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
126/300 10.7G 0.3228 0.3524 0.8383 9 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.88it/s]
all 30 147 0.404 0.442 0.375 0.22
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
127/300 10.6G 0.3382 0.3726 0.8315 15 640: 100%|██████████| 27/27 [00:17<00:00, 1.59it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.30it/s]
all 30 147 0.455 0.306 0.358 0.22
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
128/300 10G 0.3265 0.3435 0.8447 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.94it/s]
all 30 147 0.496 0.456 0.426 0.264
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
129/300 10.9G 0.3379 0.3602 0.8383 33 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.90it/s]
all 30 147 0.468 0.299 0.352 0.205
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
130/300 9.93G 0.3313 0.3668 0.8422 8 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.19it/s]
all 30 147 0.497 0.551 0.435 0.263
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
131/300 10.8G 0.3255 0.371 0.836 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.659 0.184 0.404 0.26
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
132/300 10.6G 0.3389 0.3475 0.8412 20 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.99it/s]
all 30 147 0.537 0.245 0.34 0.208
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
133/300 10.5G 0.3341 0.3483 0.8413 14 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.79it/s]
all 30 147 0.515 0.354 0.375 0.233
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
134/300 9.94G 0.3279 0.3417 0.8346 18 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.83it/s]
all 30 147 0.54 0.415 0.439 0.27
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
135/300 10.6G 0.3268 0.3436 0.8386 16 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.47it/s]
all 30 147 0.482 0.279 0.344 0.207
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
136/300 9.93G 0.3162 0.3288 0.8358 19 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.12it/s]
all 30 147 0.532 0.286 0.375 0.226
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
137/300 10.8G 0.3177 0.3444 0.8367 20 640: 100%|██████████| 27/27 [00:17<00:00, 1.57it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.78it/s]
all 30 147 0.52 0.265 0.367 0.225
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
138/300 10.1G 0.3147 0.3186 0.8374 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.75it/s]
all 30 147 0.464 0.476 0.452 0.284
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
139/300 10.5G 0.3078 0.3415 0.8223 11 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.95it/s]
all 30 147 0.504 0.435 0.434 0.267
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
140/300 10.1G 0.3186 0.3426 0.8388 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.96it/s]
all 30 147 0.644 0.259 0.42 0.257
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
141/300 10.4G 0.3083 0.3377 0.8279 12 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.72it/s]
all 30 147 0.526 0.272 0.389 0.246
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
142/300 10.6G 0.314 0.3312 0.8239 8 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 4.37it/s]
all 30 147 0.534 0.265 0.39 0.232
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
143/300 10.6G 0.3263 0.3368 0.8418 10 640: 100%|██████████| 27/27 [00:17<00:00, 1.58it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.91it/s]
all 30 147 0.347 0.347 0.311 0.19
EarlyStopping: Training stopped early as no improvement observed in last 100 epochs. Best results observed at epoch 43, best model saved as best.pt.
To update EarlyStopping(patience=100) pass a new patience value, i.e. `patience=300` or use `patience=0` to disable EarlyStopping.
143 epochs completed in 0.734 hours. Optimizer stripped from /kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/weights/last.pt, 20.0MB Optimizer stripped from /kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/weights/best.pt, 20.0MB Validating /kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/weights/best.pt... Ultralytics 8.3.5 🚀 Python-3.10.14 torch-2.4.0 CUDA:0 (Tesla P100-PCIE-16GB, 16269MiB) Model summary (fused): 186 layers, 9,831,147 parameters, 0 gradients, 23.4 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.90it/s]
all 30 147 0.443 0.801 0.623 0.38
1_pin 30 147 0.443 0.801 0.623 0.38
Speed: 0.2ms preprocess, 4.5ms inference, 0.0ms loss, 0.7ms postprocess per image
Results saved to /kaggle/working/PushPin_yolov8/pushpin_yolov8_3003
#Download
import shutil
shutil.make_archive('PushPin_yolov8_output', 'zip', '/kaggle/working/PushPin_yolov8')
'/kaggle/working/PushPin_yolov8_output.zip'
Image(filename=f'/kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/confusion_matrix.png', width=600)
Image(filename=f'/kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/results.png', width=600)
Image(filename=f'/kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/val_batch0_pred.jpg', width=600)
Image(filename=f'/kaggle/working/PushPin_yolov8/pushpin_yolov8_3003/PR_curve.png', width=600)
model.info()
Model summary: 249 layers, 9,842,443 parameters, 0 gradients, 23.6 GFLOPs
(249, 9842443, 0, 23.591372799999995)
validation_results = model.val(
data="/kaggle/input/data-yaml/data.yaml",
imgsz=640,
batch=16,
conf=0.25,
iou=0.5,
device="0"
)
Ultralytics 8.3.5 🚀 Python-3.10.14 torch-2.4.0 CUDA:0 (Tesla P100-PCIE-16GB, 16269MiB) Model summary (fused): 186 layers, 9,831,147 parameters, 0 gradients, 23.4 GFLOPs
val: Scanning /kaggle/working/Pushpins-9/valid/labels.cache... 30 images, 0 backgrounds, 0 corrupt: 100%|██████████| 30/30 [00:00<?, ?it/s]
os.fork() was called. os.fork() is incompatible with multithreaded code, and JAX is multithreaded, so this will likely lead to a deadlock.
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 2/2 [00:00<00:00, 2.90it/s]
all 30 147 0.778 0.0952 0.432 0.301
1_pin 30 147 0.778 0.0952 0.432 0.301
Speed: 0.2ms preprocess, 6.8ms inference, 0.0ms loss, 1.1ms postprocess per image
Results saved to runs/detect/val
os.fork() was called. os.fork() is incompatible with multithreaded code, and JAX is multithreaded, so this will likely lead to a deadlock.
print(validation_results.box.map50) # mAP50
print(validation_results.box.map75) # mAP75
0.4320263157894737 0.37225643097643096
print(validation_results.box.maps) # list of mAP50-95 for each category
[ 0.30123 0.30123 0.30123 0.30123 0.30123 0.30123 0.30123 0.30123 0.30123]
# Run batched inference on a list of images
results = model(
source='/kaggle/working/Pushpins-9/test/images',
iou=0.5,
conf=0.25
) # return a generator of Results objects
from IPython import display
display.clear_output()
Accepted = 0
Rejected = 0
# Process results generator
for result in results:
boxes = result.boxes # Boxes object for bounding box outputs
detected_classes = [box.cls for box in boxes] # Get the detected classes
classes = [int(cls.item()) for cls in detected_classes]
result.show()
if len(classes) == classes.count(0) and len(classes) != 0:
print("Accepted")
Accepted += 1
else:
print("Rejected")
Rejected += 1
print(f"Total Images: {Accepted + Rejected}")
print(f"Images Accepted: {Accepted}")
print(f"Images Rejected: {Rejected}")
Rejected
Rejected
Rejected
Rejected
Accepted
Rejected
Rejected
Rejected
Rejected
Rejected
Rejected
Rejected
Rejected
Rejected
Rejected
Accepted
Accepted
Rejected
Accepted
Accepted
Accepted
Accepted
Accepted
Rejected
Rejected
Accepted
Rejected
Rejected
Accepted
Rejected Total Images: 30 Images Accepted: 10 Images Rejected: 20
Imbalanced Dataset: The dataset exhibited a significant imbalance in the number of instances per class. The "1_pin" class had a substantial number of examples, whereas other defect classes had far fewer. This imbalance posed a challenge in training a model to accurately identify defects.
Precision and Recall: The model achieved a precision of 0.778 and a recall of 0.0952 on the validation set. The precision indicates the model's ability to correctly identify defects, while the recall reflects its ability to capture all true defects.
mAP (mean Average Precision): The model obtained an mAP50 of 0.432 and an mAP50-95 of 0.301. These metrics suggest the model's ability to detect and classify defects with moderate accuracy.
Confusion Matrix: The confusion matrix highlights the model's ability to correctly classify the "background" class, suggesting that the model is effective in detecting the absence of pushpins. However, the matrix also reveals misclassifications across different defect classes, indicating that the model struggles to accurately distinguish between certain defects.
Overall, the model demonstrated descent performance in identifying defective pushpins. While there are challenges related to the imbalanced and small dataset, this presents an opportunity for improvement. In the next enhancement, we will focus on expanding the dataset and addressing the current issues, which will likely lead to increased accuracy and effectiveness for real-world deployment.